﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TVH.Entidade;
using TVH.Negocio;
using TVH.Web.Code;
using TVH.Comum;
using System.Web.Security;

namespace TVH.Web
{
    public partial class TrocarSenha : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lblMensagem.Text = "";
        }

        protected void btnTrocarSenha_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/TrocarSenha.aspx");
        }

        protected void btnTrocar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                try
                {
                    var neg = new NegUsuario();
                    Usuario usu = neg.ObterLista(new Usuario()
                    {
                        Login = txtLogin.Text
                    }).FirstOrDefault();

                    usu.SenhaLimpa = txtSenhaNova.Text;
                    neg.Alterar(usu);

                    ExibirMensagemSucesso("Senha alterada com sucesso!");
                }
                catch (Exception ex)
                {
                    ExibirMensagemErro("Erro ao alterar a senha do usuário.", ex);
                }
            }
        }
        protected void ConfirmarSenha_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = (txtSenhaNova.Text == txtConfirmarSenhaNova.Text);
        }

        protected void LoginValidate_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Usuario usu = new NegUsuario().ObterLista(new Usuario()
            {
                Login = txtLogin.Text
            }).FirstOrDefault();
            if (usu == null || usu.SenhaCriptografada != txtSenha.Text.Criptografar())
            {
                args.IsValid = false;
            }
            else
            {
                args.IsValid = true;
            }
        }
    }
}